<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  
  <title>Open Jail - The Jailer Project Web Site</title>
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
  <meta name="description" content="Data Export Tool" />
  <meta name="keywords" content="data export referential integrity java jdbc dbms" />
  <link rel="stylesheet" type="text/css" href="styles.css" />
  <link rel="shortcut icon" href="favicon.ico" />
</head>

<body left-margin="0" top-margin="0">
  <div align="left">
    <table style="text-align: left; position: absolute; left: 0pt; top: 0pt;" border="0"
    cellpadding="0" cellspacing="0" height="407" width="100%">
      <tbody>
        <tr>
          <td colspan="2" class="bannerbackground" height="33" width="100%">
            <table border="0" cellpadding="4" cellspacing="0" width="100%">
              <tbody>
                <tr>
                  <td><a href="https://github.com/Wisser/Jailer"><img src="logo.png" hspace="10" /><br /></td></a>

                  <td style="text-align: left;" class="slogan" width="100%"></td>

                  <td style="text-align: right; width: 100%;">
                    <table border="0" cellpadding="0" cellspacing="0">
                      <tbody>
                        <tr>
                           <td><a href="https://github.com/Wisser/Jailer"><img src="GitHub-Mark-64px.png" title="GitHub" /></a> </td></tr><tr style="height: 100%;"><td>&nbsp;</td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                </tr>
              </tbody>
            </table>
          </td>
        </tr>

        <tr>
          <td colspan="2" class="nav1background"  width="100%">&nbsp;
          <b><font color="#FFFFFF"><a href="home.htm" target="_self" class=
          "tlinkA">&nbsp;Home&nbsp;</a> <a href="quicktour.htm" target="_self"
          class="tlink">&nbsp;Quick Tour&nbsp;</a> <a href="exporting-data.htm"
          target="_self" class="tlink">&nbsp;Tutorial&nbsp;</a> <a href=
          "data-browsing.html" target="_self" class="tlink">&nbsp;Data Browser&nbsp;</a> <a class="tlink" href="videos.html" target="_self">&nbsp;Videos&nbsp;</a> 
          <a href="faq.html" target="_self" class="tlink">&nbsp;FAQ&nbsp;</a> 
          <a href="api.html" target="_self" class="tlink">&nbsp;API&nbsp;</a> 
          <a href="design.htm" target="_self" class=
          "tlink">&nbsp;Documentation&nbsp;</a> <a href=
          "http://sourceforge.net/forum/?group_id=197260" target="_self" class=
          "tlink">&nbsp;Forum&nbsp;</a> <a href=
          "http://sourceforge.net/project/showfiles.php?group_id=197260" target="_self"
          class="tlink">&nbsp;Download&nbsp;</a>  &nbsp;&nbsp;&nbsp;
          &nbsp;&nbsp;&nbsp;</font></b></td>
        </tr>

        <tr>
          <td colspan="2" class="spacer" width="100%"></td> </tr><tr><td class="lmenucontainer">&nbsp;</td>
        </tr>

        <tr>
          <td class="lmenucontainer" height="100%" valign="top" width="14%">
            <div align="center">
              <center>
                <table border="0" cellpadding="0" cellspacing="0" width="100%">
                  <tbody>
                    <tr>
                      <td height="6px" width="100%"> </td>
                    </tr>
                  </tbody>
                </table>
              </center>
            </div>

            <ul>
              
              <li><a href="installation-2.htm" target="_self" class=
              "mlink">Installation</a> </li>

              

              <li><a href="http://sourceforge.net/project/showfiles.php?group_id=197260"
              target="_self" class="mlink">Download</a> </li>
            </ul>

            <table border="0" cellpadding="5" cellspacing="0" width="100%">
              <tbody>
                <tr>
                  <td class="content2background"><img style="width: 160px; height: 1px;"
                  alt="" src="architecture-Dateien/vgradp.gif" /></td>
                </tr>
              </tbody>
            </table>

            <p>&nbsp;</p>
          </td>

          <td class="contentbackground" height="418" valign="top" width="86%">
            <div align="right">
              <table border="0" cellpadding="0" cellspacing="0" height="542" width="98%">
                <tbody>
                  <tr>
                    <td class="contentbackground" height="21" width="100%">&nbsp;</td>
                  </tr>

                  <tr>
                    <td class="content" height="520" valign="top" width="100%">
                      <p>Jailer is a tool for database subsetting, schema
                      and <a href="data-browsing.html">data browsing</a>. </p>
                      It creates small slices from your database and lets you navigate through your database following the relationships.. <br>
                      Ideal for creating small samples of test data or for local problem analysis with relevant production data.<br>
                      <br />
                      <br />
                      <span style="font-weight: bold;">Features</span><br />

                      <ul>
                        <li><p>The Data Browser lets you navigate through your database following the relationships (foreign key-based or user-defined) between tables.
                        </p></li>

                        <li><p>The Subsetter creates small slices from
                        your productive database and imports the data into your
                        development and test environment (consistent and referentially intact).</p></li>

                        <li><p>Improves database performance by removing and archiving
                        obsolete data without violating integrity.</p></li>
                        
                          <li><p>Generates SQL (topologically sorted), JSON, YAML, XML (hierarchically structured) and <a href="http://dbunit.sourceforge.net/dbunit">DbUnit</a> 
                        datasets.</p></li>

                        <li><p>A demo database is included with which you can get a first impression without any configuration effort.</p></li>
                      </ul><br />
                      
                      <span style="font-weight: bold;">Supported Databases</span><br /><br />
						Any DMBS is basically supported thanks to the JDBC technology used.<br />
Jailer also uses additional knowledge to cope with the peculiarities of major database systems. These are: 
						</br></br>
                       
<table><tr><td valign="top" >
	<ul>
	 <li>PostgreSQL</li>
     <li>Oracle</li>
     <li>MySQL</li>
     <li>MariaDB</li>
     <li>Microsoft SQL Server</li>
     <li>IBM Db2</li>
     <li>SQLite</li>
     <li>Sybase</li>
     <li>Amazon Redshift</li>
     <li>Firebird</li>
     <li>Informix Dynamic Server</li>
     <li>H2</li>
     <li>HSQL (HyperSQL)</li>
     <li>Derby</li>
     <li>Interbase</li>
     <li>Exasol</li>
     <li>SAP HANA</li>
     <li>Vertica</li>
     <li>Snowflake</li>
     <li>ClickHouse</li>
     </ul>

     </td><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
     <td valign="top"><img src="driverslist.png"></td></tr></table>
     <br />
                      </ul>
                      
                      <span style="font-weight: bold;">News</span><br />
                      <br />
 
                       <table border="0" cellspacing="5">
                        <tbody>

                          <tr class="b">
                            <td   nowrap >
                            <small class="date">2024-07-04&nbsp;&nbsp;</small></td>

                            <td valign="top" ">Data can now also be exported as structured JSON and YAML files.</td>
                          </tr>
                          
                          <tr class="a">
                            <td nowrap>
                            <small class="date">2024-06-26&nbsp;&nbsp;</small></td>

                            <td valign="top" style="background-color: rgb(238, 238, 248);">
                            A dark UI theme has been introduced that improves readability in low light environments.</td>
                          </tr>

                         <tr class="b">
                            <td   nowrap >
                            <small class="date">2024-04-18&nbsp;&nbsp;</small></td>

                            <td valign="top" ">DDL scripts for creating database objects can now be generated thanks to an integration of the <a href="https://www.liquibase.com"><i>Liquibase</i></a> tool. This makes it possible to create subset databases from scratch using only on-board means.
                            </td>
                          </tr>
                          
                          <tr class="a">
                            <td nowrap>
                            <small class="date">2023-02-03&nbsp;&nbsp;</small></td>

                            <td valign="top" style="background-color: rgb(238, 238, 248);">
                            Thanks to deep analysis of statements, the SQL console can now relate the result of queries to the source tables and display them accordingly. In addition, this technique also allows filter conditions to be dynamically added to arbitrary SQL queries.
							</td>
                          </tr>

                         <tr class="b">
                            <td   nowrap >
                            <small class="date">2022-01-01&nbsp;&nbsp;</small></td>

                            <td valign="top" ">Comprehensive redesign and modernization of the entire user interface.
                            New Look &amp; Feel <a href="https://github.com/JFormDesigner/FlatLaf"><i>FlatLaf</i></a>. 
                            </td>
                          </tr>
                          
                          <tr class="a">
                            <td nowrap>
                            <small class="date">2021-02-04&nbsp;&nbsp;</small></td>

                            <td valign="top" style="background-color: rgb(238, 238, 248);">Cycles in parent-child relationships will be detected and broken. Thus, such data can be exported by deferring the insertion of nullable foreign keys.</td>
                          </tr>
                          <tr class="b">
                            <td   nowrap >
                            <small class="date">2020-02-04&nbsp;&nbsp;</small></td>

                            <td valign="top" ">The Jailer engine is published in <a href="https://mvnrepository.com/artifact/io.github.wisser/jailer-engine">Maven repository</a> .</td>
                          </tr>
                           <tr class="a">
                            <td   nowrap >
                            <small class="date">2019-02-01&nbsp;&nbsp;</small></td>

                            <td valign="top" style="background-color: rgb(238, 238, 248);">The new "Model Migration Tool" allows you to easily find and edit the newly added associations
    if the data model has been extended after the last change to this extraction model.</td>
                          </tr>

                          <tr class="b">
                            <td   nowrap >
                            <small class="date">2018-04-26&nbsp;&nbsp;</small></td>

                            <td valign="top" ">The new
                            feature "Analyze SQL" analyzes SQL statements and proposes
                            association definitions. This allows to reverse-engineer the
                            data model based on existing SQL queries.</td>
                          </tr>

                          <tr class="a">
                            <td   nowrap >
                            <small class="date">2018-03-06&nbsp;&nbsp;</small></td>

                            <td valign="top" style="background-color: rgb(238, 238, 248);">SQL Console
                            with code completion, syntax highlighting and database
                            metadata visualization.</td>
                          </tr>

                          <tr class="b">
                            <td   nowrap >
                            <small class="date">2017-05-10&nbsp;&nbsp;</small></td>

                            <td valign="top" "><a href=
                            "api.html">New API</a>  provides programmatic access to the
                            data export and import functionality.</td>
                          </tr>

                          <tr class="a">
                            <td   nowrap >
                            <small class="date">2017-03-30&nbsp;&nbsp;</small></td>

                            <td valign="top" style="background-color: rgb(238, 238, 248);">Improved
                            <a href="filters.html">filter management</a> . Filter
                            Templates allows you to define rules for assigning filters to
                            columns.<br>
                            Filters on primary key columns will automatically be
                            propagated to the corresponding foreign key columns.</td>
                          </tr>

                          <tr class="b">
                            <td   nowrap >
                            <small class="date">2015-12-04&nbsp;&nbsp;</small></td>

                            <td valign="top" ">Data can now also be exported directly to a schema of the same database. This ensures optimal performance.</td>
                          </tr>

                          <tr class="a">
                            <td   nowrap >
                            <small class="date">2015-10-23&nbsp;&nbsp;</small></td>

                            <td valign="top" style="background-color: rgb(238, 238, 248);">Rows can alternatively be collected in a separate embedded database. This allows exporting data from read-only databases.</td>
                          </tr>

                          <tr class="b">
                            <td   nowrap >
                            <small class="date">2014-07-20&nbsp;&nbsp;</small></td>

                            <td valign="top" ">Implemented
                            the "<a href="subset-by-example.html">Subset by Example"</a> 
                            feature: Use the Data Browser to collect all the rows to be
                            extracted and let Jailer create a model for that subset.</td>
                          </tr>

                          <tr class="a">
                            <td   nowrap >
                            <small class="date">2014-04-15&nbsp;&nbsp;</small></td>

                            <td valign="top" style="background-color: rgb(238, 238, 248);">A <a href=
                            "data-browsing.html">Data Browser</a> <a class="tlink" href="videos.html" target="_self">&nbsp;<img src="video.png">&nbsp;</a>  has been introduced.
                            Navigate bidirectionally through the database by following
                            foreign-key-based or user-defined relationships.</td>
                          </tr>

                          

                          

                          
                        </tbody>
                      </table><br />
                      <br />
                      <span style="font-weight: bold;">About Jailer</span><br />
                      <br />
                      Databases are growing in both size and complexity to meet the
                      increasing demands of business. Applications to process the data
                      are also increasing in size and complexity. With the growing
                      complexity, solid testing becomes more and more important in order
                      to assure the quality of software. Ideally we would like to test
                      all changes against up-to-date production data, so the general
                      practice is use a copy of the production database for all
                      testing.<br />
                      <br />
                      But when a database exceeds a certain size it becomes very
                      expensive to provide full-size copies of the production database
                      for development and testing. One solution of this problem is to
                      have fewer full size copies of the production database than are
                      really needed, often only one, which will be shared between the
                      development and testing teams.<br />
                      <br />
                      Of course this is far from optimal. Data in the database is left in
                      an unknown state when passed from one team to the other. It takes a
                      long time to provide a refresh of the production copy when
                      it's required. Always having an up-to-date
                      production copy is almost impossible.<br />
                      <br />
                      The databases required for development and testing rarely need to
                      be full size, it is often easier to work on a small copy.
                      Unfortunately it is very hard to manually extract a small subset of
                      the production data. It is not possible to just take 10% of each
                      table to get a 10% size database. The data in one table would not
                      be related to the data in the other tables. It would not be
                      <span style="font-style: italic;">referentially
                      intact</span>.<br />
                      <br />
                      Jailer simplifies the extraction of referentially intact data. Once
                      you have defined an <span style="font-style: italic;">extraction
                      model</span>, it can be used to extract data from the production
                      database fast and easy whenever up-to-date test data is
                      required.<br />
                      <br />
                      <br />

                      <table style="width: 100%; text-align: left;" border="0"
                      cellpadding="2" cellspacing="2">
                        <tbody>
                          <tr>
                            <td style="vertical-align: top;">
                            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br /></td>

                            <td style="vertical-align: top;">
                              <div style="text-align: left;">
                                <a href="screenshot.png"><img alt="" src="screenshotsmall.png" /></a> <br />
                              </div>
                            </td>
                          </tr>
                        </tbody>
                      </table><br />
                      <br />

                      <div style="text-align: left;">
                        <br />
                      </div>
                    </td>
                  </tr>
                </tbody>
              </table>
            </div>

            <p><br /></p>

            <p><br /></p>

            <p><br /></p>

            <p><br /></p>

            <p><br /></p>

            <p><br /></p>

            <p><br /></p>

            <p><br />
            &nbsp;</p>
          </td>
        </tr>

        <tr>
          <td height="12" valign="top" width="14%"><br /></td>

          <td><br /></td>
        </tr>
      </tbody>
    </table>
  </div>
</body>
</html>
